import { request } from './request'

// 获取角色属性信息
export function getAttributes(data) {
  return request({
    url: '/attribute/info',
    method: 'post',
    data
  })
}

// 分配属性点
export function distributeAttributes(data) {
  return request({
    url: '/attribute/distribute',
    method: 'post',
    data
  })
}

// 获取属性预览
export function getAttributePreview(data) {
  return request({
    url: '/attribute/preview',
    method: 'post',
    data
  })
}

// 自动分配属性点
export function autoDistributeAttributes(data) {
  return request({
    url: '/attribute/auto_distribute',
    method: 'post',
    data
  })
}

// 获取境界列表
export function getRealms() {
  return request({
    url: '/attribute/realms',
    method: 'get'
  })
}

// 角色突破境界
export function breakthroughRealm(data) {
  return request({
    url: '/attribute/breakthrough',
    method: 'post',
    data
  })
}

// 分配相性点
export function distributeAffinityPoints(data) {
  return request({
    url: '/attribute/affinity_distribute',
    method: 'post',
    data
  })
}

// 获取技能列表
export function getSkills(data) {
  return request({
    url: '/skill/list',
    method: 'post',
    data
  })
}

// 学习技能
export function learnSkill(data) {
  return request({
    url: '/skill/learn',
    method: 'post',
    data
  })
}

// 升级技能
export function upgradeSkill(data) {
  return request({
    url: '/skill/upgrade',
    method: 'post',
    data
  })
}

// 装备技能
export function equipSkill(data) {
  return request({
    url: '/skill/equip',
    method: 'post',
    data
  })
}

// 获取门派技能列表
export function getSectSkills(data) {
  return request({
    url: '/sect/skills',
    method: 'post',
    data
  })
}

// 卸下技能
export function unequipSkill(slotIndex) {
  return post('/skill/unequip', {
    slot_index: slotIndex
  })
}

// 获取技能详情
export function getSkillDetail(skillId) {
  return get(`/skill/detail/${skillId}`)
}

// 英雄相关
// 获取英雄列表
export function getHeroList() {
  return post('/hero/list')
}

// 获取上阵英雄
export function getTeamList() {
  return post('/hero/team_list')
}

// 英雄升级
export function upgradeHero(heroId, isAll = false) {
  return post('/hero/upgrade', {
    id: heroId,
    all: isAll ? 1 : 0
  })
}

// 英雄突破
export function breakthroughHero(heroId) {
  return post('/hero/tp', {
    id: heroId
  })
}

// 英雄出战
export function joinTeam(heroId) {
  return post('/hero/join_team', {
    id: heroId
  })
}

export default {
  getAttributes,
  distributeAttributes,
  getAttributePreview,
  autoDistributeAttributes,
  getRealms,
  breakthroughRealm,
  getSkills,
  learnSkill,
  upgradeSkill,
  equipSkill,
  unequipSkill,
  getSkillDetail,
  getSectSkills,
  getHeroList,
  getTeamList,
  upgradeHero,
  breakthroughHero,
  joinTeam
}